import operate from './operate.js'
const http = (options : any) => {
	return new Promise((resolve, reject) => {
		uni.request({
			url: operate.api() + "/mock/67abded495c4c5029e0b3269/api" + options.url, //接口地址：前缀+方法中传入的地址
			method: options.method || 'GET', //请求方法：传入的方法或者默认是“GET”
			data: options.data || {}, //传递参数：传入的参数或者默认传递空集合
			header: {
				'Authorization': "token", //自定义请求头信息
			},
			success: (res : any) => {
				if (res.data.code !== 200) { //自定请求失败的情况
					uni.showToast({
						title: res.data.msg,
						icon: 'none'
					});
				}
				resolve(res.data)//成功
			},
			// 这里的接口请求，如果出现问题就输出接口请求失败
			fail: (err : any) => {
				uni.showToast({
					title: "" + err.msg,
					icon: 'none'
				});
				reject(err)
				showError(err.response)
			}
		})
	})
}

const showError = (error : any) => {
	let errorMsg = ''
	switch (error.code) {
		case 301:
			errorMsg = '未授权，请登录'
			break
		case 400:
			errorMsg = '请求参数错误'
			break
		case 403:
			errorMsg = '跨域拒绝访问'
			break
		case 404:
			errorMsg = '请求地址不存在'
			break
		case 500:
			errorMsg = '服务器内部错误'
			break
		case 504:
			errorMsg = '请求超时'
			break
		default:
			errorMsg = "请求失败"
			break
	}
	uni.showToast({
		title: errorMsg,
		icon: 'none',
		duration: 3000,
		complete: function () {
			setTimeout(function () {
				uni.hideToast();
			}, 3000);
		}
	});
}

export default http